package com.sc.dto;

import cn.hutool.json.JSONUtil;
import lombok.Data;

import java.io.Serializable;

/**
 * @author JoeZhou
 */
@Data
public class RequestLogDTO implements Serializable {
    /**
     * 请求地址
     */
    private String url;
    /**
     * 请求方式
     */
    private String requestMethod;
    /**
     * 类全名称
     */
    private String className;
    /**
     * 方法名称
     */
    private String methodName;
    /**
     * 方法形参
     */
    private String parameters;
    /**
     * 响应数据
     */
    private Object responseData;
    /**
     * 请求耗时
     */
    private String spendTime;

    @Override
    public String toString() {
        return String.format("\n" +
                        "请求地址: %s %s\n" +
                        "控制方法: %s.%s(): 耗时%s\n" +
                        "请求参数: %s\n" +
                        "响应数据: %s\n",
                requestMethod, url, className, methodName, spendTime,
                JSONUtil.toJsonPrettyStr(parameters),
                JSONUtil.toJsonPrettyStr(responseData));

    }
}